home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / hardware-part1 / 4116 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  6.6 KB

  1. Path: cup.portal.com!squirrel
  2. From: squirrel@cup.portal.com (Sean - Curtin)
  3. Newsgroups: comp.sys.amiga.hardware
  4. Subject: Re: Zorro2 for the A1200
  5. Date: 7 Feb 1996 22:40:08 -0800
  6. Organization: The Portal System (TM)
  7. Sender: pccop@unix.portal.com
  8. Distribution: world
  9. Message-ID: <150321@cup.portal.com>
  10. References: <4f3f4k$7a1@susscsc1.rdg.ac.uk>
  11. NNTP-Posting-Host: news1.unix.portal.com
  12.  
  13. >"S. Mortimer" <ssumorti>
  14. >
  15. >Hi,
  16. >        Anyone know how hard it is to wire a zorro port upto the expension 
  17. >port of a 1200? (if so, anyone know how to do it?)
  18. >
  19. >        Thanks.
  20. >
  21. >                Steve
  22.  
  23. Well, it's far from complete, but I have looked into it...
  24.  
  25. I got bored the other day and decided to look over what it would take
  26. to make a Zorro 2 bus adapter for the 1200. After a few hours of digging
  27. through various books and taking some readings with the scope, I came up 
  28. with the following preliminary design. I would appreciate it if any 680xx
  29. gurus out there could tell me if I'm headed in the right direction. 
  30. (Dave Haynie, if you're out there this means you. ;^)
  31.  
  32. The design is for a single slot adapter much like what you would use to
  33. put a Zorro card on a 500. There is no bus buffering or arbitration yet.
  34. I want to take this one step at a time. If I can get, say, a 2091 to work
  35. on this setup as it does on a bus-adapted 500, then I'll move on to more
  36. complex designs. At this point, the less I have to debug, the better.
  37.  
  38. Don't waste your time trying to build this version because it probably 
  39. won't work...but then if you understand all the notation you could probably
  40. design your own anyway. 8^) 
  41.  
  42. Things I'm still wondering about or planning:
  43. 1. Tri-stating /UDS,/LDS, & /VMA during a DMA cycle. (/BGACK low.)
  44. 2. Confirm /UDS,/LDS, & /VMA equations.
  45. 3. /EINT1 encoding. Not a big deal.
  46. 4. Read-Modify-Write? Worth it? Implement with: /RMC * /AS(in) = /AS(out)
  47.    and force /DSACKn to byte mode?
  48. 5. Generate /DTACK TO Zorro during DMA cycle? Do memory accesses generate
  49.    /DTACK? I wouldn't think so, but you never know...
  50. 4. ? suggestions...
  51.  
  52. Nevertheless, the wiring/logic I've computed is as follows:
  53.  
  54.    A1200 Side (Pin#s)    Dir    Zorro2 Side (Pin#s)    Comments
  55. ------------------------------------------------------------------------
  56. A23-A1 (11-18,21-28,    <====>    A23-A1(59,57,58,56,54,    Straight 
  57.     31-37)                   52,47,45,43,41,    through.
  58.                        39,38,36,34,32,
  59.                        30,28,23,21,24,
  60.                        26,27,29)
  61.  
  62. D31-D16 (41-48,51-58)    <====>    D15-D0(63,65,67,69,71,    Straight
  63.                        76,78,80,82,84,    through.
  64.                        86,83,81,79,77,
  65.                        75)
  66.  
  67. +5V,+12V,-12V(10,149,    =====>    +5V,+12V,-12V(5&6,10,    Zorro pin 8=-5V.
  68.           150)                  20)    Could use 7905
  69.                             from pin 20 if nec.
  70.  
  71. Gnd(9,19,29,39,49,59,        Gnd(1-4,13,25,37,49,    Mix & match.
  72.     69,79,101,119,139)  <====>      61,73,85,87-91,
  73.                     99,100)
  74.  
  75. /IPL2-/IPL0(81-83)    <=====    /EINT7,5,4(40,42,44)    Interrupt lines.
  76.  
  77. /RST(85)        <====>    /RST,/BUSRST(53,94)    Reset.
  78.  
  79. /HLT(86)        <====>    /HLT(55)        Halt.
  80.  
  81. R/W(93)            =====>    READ(68)        
  82.  
  83. /BERR(94)        <=====    /BERR(46)        a.k.a. /BEER ;^)
  84.  
  85. /AS(91)            =====>    /AS(74)            Straight through.
  86.  
  87. ECLOCK(100)        =====>    E(50)            716 Khz clock.
  88.  
  89. FC2-0(103-105)        =====>    FC2-0(35,33,        Function codes.
  90.                       31)        Same on 000-030.
  91.  
  92. /BR(111)        <=====    /BRn(60)        Bus Request
  93.  
  94. /BG(112)        =====>    /BGn(64)        Bus Grant
  95.  
  96. /BOSS(114)        <=====    /BGACK(62)        Bus Grant Ack.
  97.  
  98. /OVR(133)        <=====    /OVR(17)        Override. ?
  99.  
  100. XRDY(134)        <=====  XRDY(18)        Wait state thing.
  101.  
  102. /INT2(137)        <=====    /INT2(19)        Interrupt 2.
  103.  
  104. /INT6(138)        <=====    /INT6(22)        "      6.
  105.  
  106. /CONFIGOUT(145)        =====>    /CFGINn(12)        Autoconfig flag.
  107.  
  108. nc(for now).        <=====    /EINT1(96)        Rarely used int.
  109.                             line. Add later.
  110.  
  111.  
  112. UDS/LDS Stuff-------------------------------------------------------------
  113. /DS(92)                            Generate u/l
  114.   LDS=    /"/DS"*"A0"*"/FPUCS(115)"+            data strobes.
  115.     /"/DS"*"SIZE1(89)"*"/FPUCS"+
  116.     /"/DS"*/"SIZE0(90)"*"/FPUCS"
  117.                             Adapted from old
  118.  /LDS= /"LDS"             =====>    /LDS(70)        Transactor LUCAS
  119.  /UDS= "/DS"+"A0"+/"/FPUCS"===>    /UDS(72)        Article.
  120.                             Don't have a table
  121.    (Quotes denote proper signal name.)            for SIZE1, SIZE0.
  122.  
  123.  
  124. DTACK Stuff---------------------------------------------------------------
  125. /DSACK1(97)        <=====    pullup<=+5V        Lock for 16 bit
  126. /DSACK2(98)        <=====  /DTACK(66)        transfers.
  127.                         Assuming:
  128.                         /DSACK 2 1
  129.                         ----------
  130.                                1 1 = Wait/noAck
  131.                                1 0 = 8 bit Ack
  132.                                0 1 = 16 bit Ack
  133.                                0 0 = 32 bit Ack
  134.                                
  135.  
  136. VMA/VPA Stuff-------------------------------------------------------------
  137.         +---+    +---+    <--74F73
  138. /{/AS(91)+/VPA}-|J Q|---|J Q|-nc            Generate /VMA.
  139.        E(100)--O|>  | +O|>  |
  140.      Gnd(101)---|K/Q|---|K/Q|==>/VMA(51)        (From Motorola
  141.         | C | |    | C |                 68000 book.P.7-2)
  142.         +---+ |    +---+                
  143. /{/AS+/VPA}-------O   |      |                
  144.               |   nc
  145.     7MHZ(Z92)-----+
  146.     See clock logic.
  147.     ^    
  148.    / \
  149.     |
  150.     |
  151. to /VMA logic.        <=====    /VPA(48)        See /VMA above.
  152.  
  153.  
  154.  
  155. Clocks--------------------------------------------------------------------
  156. CCKA(117)---------------=====>    /C1 Clock(16)        3.58 Mhz.
  157.                 (tested & verified)
  158.     +---+ 74F74a1
  159. CCKA----|D Q|                        CPUCLKA=14Mhz.
  160. (117)    |   |
  161. CPUCLKA-|>/Q|-----------=====>    /C3 Clock(14)        3.58 Mhz.
  162. (99)    +---+            (tested & verified)    +90 deg. of /C1.
  163.  
  164.      +---------+ 74F74a2
  165.      |  +---+  |
  166.      +--|D Q|--)--------=====>    7MHz(92)        7.16 MHz.
  167.     |   |  |        (tested & verified)
  168. CPUCLKA-|>/Q|--+
  169. (99)    +---+
  170.  
  171.      +---------+ 74F74b1
  172.      |  +---+  |
  173.      +--|D Q|--)--------=====>    CDAC Clock(15)        7.16 MHz.
  174.     |   |  |                    +90 deg. of 7MHz.
  175. /CPUCLKA|>/Q|--+        (calculated only)
  176.     +---+
  177. Notes:
  178. All Flip-Flop /CLEAR lines to /RST(85).
  179. Phase diff. ref.: Scope triggering on CCKA. Centered on rising edge.
  180.  
  181.  
  182. Buster Stuff. Add Later.--------------------------------------------------
  183. nc (future)        <=====    /OWN(7)            Buster stuff...
  184. nc    "        <=====    /SLAVEn(9)        n = Slot #(1-5).
  185. nc    "        <=====    /CFGOUTn(11)
  186. nc    "        =====>    /GBG(95)
  187. +5V(10)            =====>    DOE(93)
  188.  
  189.  
  190. Unused 1200 Exp. Bus Lines------------------------------------------------
  191. D15-D0(61-68,71-78)     In/Out                Unused data bits.
  192. /AVEC (96)        In                Autovector.
  193. /RMC  (106)        Out                Read/Mod/Write
  194. FPUSENSE(116)        In?                FPU stuff.
  195. /RESET            ?                Subset of /RST?
  196. /NETCS,/SPARECS(121,122)Out,Out                Mysterious chip sel.
  197. /RTCCS(123)        Out                Real time clock sel.
  198. /FLASH,/REG,/CCENA,/WAIT                PCMCIA control stuff?
  199. (124,125,126,127)    ?,?,?,?
  200. /KBRESET(128)        In/Out                Reset from keyb micro
  201. /IORD,/IOWR,/OE,/WE                    Stuff for interfacing
  202. (129,130,131,132)    Out,Out,Out,Out            Intel I/O, incl. RTC.
  203.  
  204. /ZORRO(135)        In???                WHAT IS THIS???!!!
  205.  
  206. /WIDE(136)        In???                This too???!!!
  207. SYSTEM1,SYSTEM0(141,142)Gnd.                Fancy Grounds.
  208. /xRxD,/xTxD(143,144)    In,Out                Paula Serial lines?
  209. AUDIO Gnd,AUDIO LEFT,                    Paula Audio.
  210. AUDIO RIGHT(146,147,148)Gnd,Out,Out
  211.  
  212. Whaddya think sirs?
  213. ...Sean.
  214.